De id is strijdig met een andere id of moet worden gekwalificeerd. Voor deze fout zijn de volgende oorzaken en oplossingen mogelijk:
U kunt de naam van het onderdeel kwalificeren door de objectnaam te typen, gevolgd door een punt. Bijvoorbeeld:
object.eigenschap
Id's op moduleniveau en op projectniveau (modulenamen en namen van opgeroepen projecten) kunnen opnieuw gebruikt worden in een procedure, hoewel programma's hierdoor moeilijker te onderhouden zijn en fouten moeilijker zijn op te sporen. Als u echter wilt verwijzen naar beide items in dezelfde procedure, moet het item met het grootst bereik worden gekwalificeerd. Als bijvoorbeeld MyID
is gedeclareerd op het moduleniveau van MyModule
en als vervolgens in de module een variabele op procedureniveau wordt gedeclareerd met dezelfde naam, moeten verwijzingen naar de variabele op moduleniveau op de juiste wijze worden gekwalificeerd:
Dim MyID As String
Sub MySub
MyModule.MyID = "Dit is een variabele op moduleniveau"
Dim MyID As String
MyID = "Dit is de variabele op procedureniveau"
Debug.Print MyID
Debug.Print MyModule.MyID
End Sub
MyID
is gedeclareerd op moduleniveau en er vervolgens een procedure met dezelfde naam wordt gedefinieerd:
Public MyID
Sub MyID
. . .
End Sub
In dit geval moet u een van de namen wijzigen omdat door kwalificatie met een gewone modulenaam de dubbelzinnigheid niet opgelost zou worden. Procedurenamen zijn standaard Public maar namen van variabelen zijn Private tenzij ze als Public worden opgegeven.
Selecteer voor aanvullende informatie het desbetreffende item en druk op F1 (in Windows) of op HELP (op de Macintosh).